import sqlite3

conn = sqlite3.connect('database.db')

# 打开db.sql文件
with open('db.sql') as f:
    # 执行读取到的sql语句
    conn.executescript(f.read())

# 手动插入数据
cur = conn.cursor()
cur.execute("INSERT INTO posts (title, sketch, picture, content) VALUES (?, ?, ?, ?)",
            ('Flask 框架','Flask是一个使用 Python 编写的轻量级 Web 应用框架。','https://img-blog.csdnimg.cn/f3742e4dd0264b20a5f72a2969e95b23.png','Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ，模板引擎则使用 Jinja2 。Flask使用 BSD 授权。Flask也被称为 “microframework” ，因为它使用简单的核心，用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。')
            )

cur.execute("INSERT INTO posts (title, sketch, picture, content) VALUES(?, ?, ?, ?)",
            ("JInja2",'Jinja2 是一个现代的，设计者友好的，仿照 Django 模板的 Python 模板语言。','http://doc.yonyoucloud.com/doc/jinja2-docs-cn/_static/jinja-small.png',"nja2是基于python的模板引擎,功能比较类似于于PHP的smarty,J2ee的Freemarker和velocity。 它能完全支持unicode,并具有集成的沙箱执行环境,应用广泛。jinja2使用BSD授权。")
            )

cur.execute("INSERT INTO posts (title, sketch, picture, content) VALUES(?, ?, ?, ?)",
            ("Python",'计算机编程语言。','https://img-blog.csdnimg.cn/img_convert/6079e722e2d484170fe479037f832864.png',"Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计，作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构，还能简单有效地面向对象编程。Python语法和动态类型，以及解释型语言的本质，使它成为多数平台上写脚本和快速开发应用的编程语言， 随着版本的不断更新和语言新功能的添加，逐渐被用于独立的、大型项目的开发。")
            )

cur.execute("INSERT INTO user(username,password,remarks,userimage) VALUES(?,?,?,?)",
            ("admin","admin",'管理员','https://mail.88.com/s/a/u-198546')
            )

cur.execute("INSERT INTO user(username,password,remarks,userimage) VALUES(?,?,?,?)",
            ("test","test",'测试账户','https://q.qlogo.cn/g?b=qq&nk=2177171539&s=100')
            )

# 提交
conn.commit()
# 关闭
conn.close()
print("数据库初始化完成")